package com.bestdreamer.thread_safe.singleton_1;

import java.io.ObjectStreamException;
import java.io.Serializable;

/**
 * 静态内置类可以达到线程安全问题，但如果遇到序列化对象时，使用默认的方式运行得到的结果还是挺多的
 */
public class MyObject implements Serializable {

    private static final long serialVersionUID = 888L;
    // 内部类方式
    private static class MyObjectHandler{
        private static final MyObject myObject = new MyObject();
    }

    private MyObject(){}

    public static MyObject getInstance(){
        return MyObjectHandler.myObject;
    }

//    protected Object readResolve() throws ObjectStreamException{
//        System.out.println("调用了 readResolve 方法！");
//        return MyObjectHandler.myObject;
//    }
}
